package com.fowo.api.model.supplie.config;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 供应商设定 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SupplieConfigImportPo {

  /** 供应商级别 */
  @ExcelProperty("*供应商级别")
  @NotBlank(message = "供应商级别不能为空")
  private String type;

  /** 显示字段 */
  @ExcelProperty("*显示字段")
  @NotBlank(message = "显示字段不能为空")
  private String displayFields;

  /** 开发任务最大上传图片数 */
  @ExcelProperty("*开发任务最大上传图片数")
  @NotBlank(message = "开发任务最大上传图片数不能为空")
  @IntegerString(
    message = "开发任务最大上传图片数数值格式不正确",
    label = "开发任务最大上传图片数"
  )
  private String taskMaxImage;

  /** 状态 */
  @ExcelProperty("*状态")
  @NotBlank(message = "状态不能为空")
  private String status;

  /** 显示水印定位 */
  @ExcelProperty("*显示水印定位")
  @NotBlank(message = "显示水印定位不能为空")
  private String watermarkLocalization;

  /** 显示水印时间 */
  @ExcelProperty("*显示水印时间")
  @NotBlank(message = "显示水印时间不能为空")
  private String watermarkTime;

  /** 显示水印员工号 */
  @ExcelProperty("*显示水印员工号")
  @NotBlank(message = "显示水印员工号不能为空")
  private String watermarkJobNo;

  /** 显示水印员工姓名 */
  @ExcelProperty("*显示水印员工姓名")
  @NotBlank(message = "显示水印员工姓名不能为空")
  private String watermarkJobName;

  /** 系统评估占比（默认50%） */
  @ExcelProperty("*系统评估占比（默认50%）")
  @NotBlank(message = "系统评估占比（默认50%）不能为空")
  @IntegerString(
    message = "系统评估占比（默认50%）数值格式不正确",
    label = "系统评估占比（默认50%）"
  )
  private String systemReviewPercent;

  /** 人工评分占比（默认50%） */
  @ExcelProperty("*人工评分占比（默认50%）")
  @NotBlank(message = "人工评分占比（默认50%）不能为空")
  @IntegerString(
    message = "人工评分占比（默认50%）数值格式不正确",
    label = "人工评分占比（默认50%）"
  )
  private String peopleReviewPercent;

  /** 订单量 */
  @ExcelProperty("订单量")
  @IntegerString(message = "订单量数值格式不正确", label = "订单量", min = 0)
  private String patrolOrderQuantity;

  /** 巡场周期 */
  @ExcelProperty("巡场周期")
  private String patrolWheel;

  /** 次数 */
  @ExcelProperty("次数")
  @IntegerString(message = "次数数值格式不正确", label = "次数")
  private String patrolNumber;

  /** 巡场人 */
  @ExcelProperty("*巡场人")
  @NotBlank(message = "巡场人不能为空")
  @Size(max = 50, message = "巡场人长度不能超过50")
  private String toUserName;

  @ExcelIgnore
  @Schema(title = "*巡场人")
  private String toUser;
}
